package com.zjsru.plan2024.oneday;

import java.util.Arrays;

/**
 * 2956. 找到两个数组中的公共元素
 *
 * @Author: cookLee
 * @Date: 2024-07-16
 */
public class FindIntersectionValues {

    /**
     * 主
     * \
     * 输入：nums1 = [2,3,2], nums2 = [1,2]
     * 输出：[2,1]
     * \
     * 输入：nums1 = [4,3,2,3,1], nums2 = [2,2,5,2,3,6]
     * 输出：[3,4]
     * nums1 中下标在 1，2，3 的元素在 nums2 中也存在。所以 answer1 为 3。
     * nums2 中下标在 0，1，3，4 的元素在 nums1 中也存在。所以 answer2 为 4。
     * \
     * 输入：nums1 = [3,4,2,3], nums2 = [1,5]
     * 输出：[0,0]
     * nums1 和 nums2 中没有相同的数字，所以答案是 [0,0]。
     * \
     * @param args args
     */
    public static void main(String[] args) {
        FindIntersectionValues findIntersectionValues = new FindIntersectionValues();
        int[] nums1 = new int[]{2,3,2};
        int[] nums2 = new int[]{1,2};
        System.out.println(Arrays.toString(findIntersectionValues.findIntersectionValues(nums1, nums2)));
    }

    /**
     * 查找交点值:遍历
     *
     * @param nums1 nums1
     * @param nums2 nums2
     * @return {@link int[]}
     */
    public int[] findIntersectionValues(int[] nums1, int[] nums2) {
        int[] ans = new int[2];
        //处理nums1,遍历看看有多少在nums2满足要求
        int count1 =  this.helper(nums1,nums2);
        ans[0] = count1;
        //处理nums2
        Integer count2 = this.helper(nums2, nums1);
        ans[1] = count2;
        return ans;
    }

    /**
     * 计算计数助手类
     *
     * @param nums1 nums1
     * @param nums2 nums2
     * @return {@link Integer}
     */
    private Integer helper(int[] nums1, int[] nums2) {
        int count = 0;
        for (int i = 0; i < nums1.length; i++) {
            for (int j = 0; j < nums2.length; j++) {
                if(nums1[i] == nums2[j]){
                    count++;
                    break;
                }
            }
        }
        return count;
    }


}
